/*! lzf */

function md5(r) {
    function i(r, n) {
        return r << n | r >>> 32 - n
    }

    function c(r, n) {
        var t, o, e, u, a;
        return e = 2147483648 & r, u = 2147483648 & n, a = (1073741823 & r) + (1073741823 & n), (t = 1073741824 & r) & (o = 1073741824 & n) ? 2147483648 ^ a ^ e ^ u : t | o ? 1073741824 & a ? 3221225472 ^ a ^ e ^ u : 1073741824 ^ a ^ e ^ u : a ^ e ^ u
    }

    function n(r, n, t, o, e, u, a) {
        var f;
        return c(i(r = c(r, c(c((f = n) & t | ~f & o, e), a)), u), n)
    }

    function t(r, n, t, o, e, u, a) {
        var f;
        return c(i(r = c(r, c(c(n & (f = o) | t & ~f, e), a)), u), n)
    }

    function o(r, n, t, o, e, u, a) {
        return c(i(r = c(r, c(c(n ^ t ^ o, e), a)), u), n)
    }

    function e(r, n, t, o, e, u, a) {
        return c(i(r = c(r, c(c(t ^ (n | ~o), e), a)), u), n)
    }

    function u(r) {
        var n, t = "", o = "";
        for (n = 0; n <= 3; n++) t += (o = "0" + (r >>> 8 * n & 255).toString(16)).substr(o.length - 2, 2);
        return t
    }

    var a, f, C, g, h, d, v, m, S, l = Array();
    for (l = function (r) {
        for (var n, t = r.length, o = t + 8, e = 16 * ((o - o % 64) / 64 + 1), u = Array(e - 1), a = 0, f = 0; f < t;) a = f % 4 * 8, u[n = (f - f % 4) / 4] = u[n] | r.charCodeAt(f) << a, f++;
        return a = f % 4 * 8, u[n = (f - f % 4) / 4] = u[n] | 128 << a, u[e - 2] = t << 3, u[e - 1] = t >>> 29, u
    }(r = function (r) {
        r = r.replace(/\r\n/g, "\n");
        for (var n = "", t = 0; t < r.length; t++) {
            var o = r.charCodeAt(t);
            o < 128 ? n += String.fromCharCode(o) : (127 < o && o < 2048 ? n += String.fromCharCode(o >> 6 | 192) : (n += String.fromCharCode(o >> 12 | 224), n += String.fromCharCode(o >> 6 & 63 | 128)), n += String.fromCharCode(63 & o | 128))
        }
        return n
    }(r)), d = 1732584193, v = 4023233417, m = 2562383102, S = 271733878, a = 0; a < l.length; a += 16) v = e(v = e(v = e(v = e(v = o(v = o(v = o(v = o(v = t(v = t(v = t(v = t(v = n(v = n(v = n(v = n(C = v, m = n(g = m, S = n(h = S, d = n(f = d, v, m, S, l[a + 0], 7, 3614090360), v, m, l[a + 1], 12, 3905402710), d, v, l[a + 2], 17, 606105819), S, d, l[a + 3], 22, 3250441966), m = n(m, S = n(S, d = n(d, v, m, S, l[a + 4], 7, 4118548399), v, m, l[a + 5], 12, 1200080426), d, v, l[a + 6], 17, 2821735955), S, d, l[a + 7], 22, 4249261313), m = n(m, S = n(S, d = n(d, v, m, S, l[a + 8], 7, 1770035416), v, m, l[a + 9], 12, 2336552879), d, v, l[a + 10], 17, 4294925233), S, d, l[a + 11], 22, 2304563134), m = n(m, S = n(S, d = n(d, v, m, S, l[a + 12], 7, 1804603682), v, m, l[a + 13], 12, 4254626195), d, v, l[a + 14], 17, 2792965006), S, d, l[a + 15], 22, 1236535329), m = t(m, S = t(S, d = t(d, v, m, S, l[a + 1], 5, 4129170786), v, m, l[a + 6], 9, 3225465664), d, v, l[a + 11], 14, 643717713), S, d, l[a + 0], 20, 3921069994), m = t(m, S = t(S, d = t(d, v, m, S, l[a + 5], 5, 3593408605), v, m, l[a + 10], 9, 38016083), d, v, l[a + 15], 14, 3634488961), S, d, l[a + 4], 20, 3889429448), m = t(m, S = t(S, d = t(d, v, m, S, l[a + 9], 5, 568446438), v, m, l[a + 14], 9, 3275163606), d, v, l[a + 3], 14, 4107603335), S, d, l[a + 8], 20, 1163531501), m = t(m, S = t(S, d = t(d, v, m, S, l[a + 13], 5, 2850285829), v, m, l[a + 2], 9, 4243563512), d, v, l[a + 7], 14, 1735328473), S, d, l[a + 12], 20, 2368359562), m = o(m, S = o(S, d = o(d, v, m, S, l[a + 5], 4, 4294588738), v, m, l[a + 8], 11, 2272392833), d, v, l[a + 11], 16, 1839030562), S, d, l[a + 14], 23, 4259657740), m = o(m, S = o(S, d = o(d, v, m, S, l[a + 1], 4, 2763975236), v, m, l[a + 4], 11, 1272893353), d, v, l[a + 7], 16, 4139469664), S, d, l[a + 10], 23, 3200236656), m = o(m, S = o(S, d = o(d, v, m, S, l[a + 13], 4, 681279174), v, m, l[a + 0], 11, 3936430074), d, v, l[a + 3], 16, 3572445317), S, d, l[a + 6], 23, 76029189), m = o(m, S = o(S, d = o(d, v, m, S, l[a + 9], 4, 3654602809), v, m, l[a + 12], 11, 3873151461), d, v, l[a + 15], 16, 530742520), S, d, l[a + 2], 23, 3299628645), m = e(m, S = e(S, d = e(d, v, m, S, l[a + 0], 6, 4096336452), v, m, l[a + 7], 10, 1126891415), d, v, l[a + 14], 15, 2878612391), S, d, l[a + 5], 21, 4237533241), m = e(m, S = e(S, d = e(d, v, m, S, l[a + 12], 6, 1700485571), v, m, l[a + 3], 10, 2399980690), d, v, l[a + 10], 15, 4293915773), S, d, l[a + 1], 21, 2240044497), m = e(m, S = e(S, d = e(d, v, m, S, l[a + 8], 6, 1873313359), v, m, l[a + 15], 10, 4264355552), d, v, l[a + 6], 15, 2734768916), S, d, l[a + 13], 21, 1309151649), m = e(m, S = e(S, d = e(d, v, m, S, l[a + 4], 6, 4149444226), v, m, l[a + 11], 10, 3174756917), d, v, l[a + 2], 15, 718787259), S, d, l[a + 9], 21, 3951481745), d = c(d, f), v = c(v, C), m = c(m, g), S = c(S, h);
    return (u(d) + u(v) + u(m) + u(S)).toLowerCase()
}